package com.wing.common.utils;

import cn.hutool.core.util.RandomUtil;
import cn.hutool.core.util.StrUtil;
import com.google.zxing.common.StringUtils;
import org.apache.poi.util.StringUtil;

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

/**
 * @version 1.1.0
 * @Author hz
 * @Date 2024-08-21 11:13
 **/
public class UniqueIdGeneratorUtil {

    /**
     * 生成唯一id
     * @param prefix 前缀 可以是任何字符
     * @param format 时间格式化格式
     * @param min 最小随机数
     * @param max 最大随机数
     * @return
     */
    public static String generateUniqueId(String prefix,String format,int min,int max) {
        // 获取当前时间
        LocalDateTime now = LocalDateTime.now();

        String formattedDateTime = "";
        if (!StrUtil.isEmpty(format)) {
            // 格式化时间
            DateTimeFormatter formatter = DateTimeFormatter.ofPattern(format);
            formattedDateTime = now.format(formatter);
        }else{
            formattedDateTime = "-";
        }

        // 生成4位随机数
        int randomNumber = RandomUtil.randomInt(min, max);
        // 拼接ID
        return prefix + formattedDateTime + randomNumber;
    }
}
